<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <title>自述文件-微厦在线学习考试系统</title>
  <style type="text/css">
    html,
    body {
      width: 100%;
      height: 100%;
      margin: 0px;
      padding: 0px;
    }

    * {
      font-size: 18px;
    }

    a {
      text-decoration: none;
    }

    *::-webkit-scrollbar {
      /*滚动条整体样式*/
      width: 10px;
      /*高宽分别对应横竖滚动条的尺寸*/
      height: 1px;
    }


    *::-webkit-scrollbar-thumb {
      /*滚动条里面小方块*/
      border-radius: 3px;
      -webkit-box-shadow: inset 0 0 5px rgba(133, 131, 131, 0.2);
      background: #888888;
      background-image: -webkit-linear-gradient(45deg,
          rgba(184, 164, 164, 0.2) 25%,
          transparent 25%,
          transparent 50%,
          rgba(255, 255, 255, 0.2) 50%,
          rgba(255, 255, 255, 0.2) 75%,
          transparent 75%,
          transparent);
      background-repeat: no-repeat;
    }


    *::-webkit-scrollbar-track {
      /*滚动条里面轨道*/
      -webkit-box-shadow: inset 0 0 3px rgba(133, 131, 131, 0.2);
      border-radius: 3px;
      background: #EDEDED;
      background-repeat: no-repeat;
      background-position: bottom;
    }

    body>header {
      background: #efefef;
      width: 100%;
      height: 60px;
      line-height: 60px;
      font-size: 30px;
      font-weight: bold;
      box-sizing: border-box;
      padding: 0px 0px 0px 20px;
      color: #333;
      box-shadow: 3px 3px 3px #ddd;
      margin-bottom: 20px;
    }

    body>header a.logo {
      float: right;
      margin-right: 26px;
      margin-top: 8px;
    }

    body>section {
      width: 100%;
      height: calc(100% - 80px);
      display: flex;
      position: relative;
    }

    /*左侧导航*/
    body>section>nav {
      width: 200px;
      box-shadow: 2px 2px 2px 2px rgba(180, 180, 180, 0.3), -0px -0px 2px 2px rgba(180, 180, 180, 0.3);
      box-sizing: border-box;
      padding-top: 30px;
      position: relative;
      z-index: 1;
    }

    body>section>nav a {
      color: #333;
      box-sizing: border-box;
      display: block;
      position: relative;
      z-index: 2;
      padding: 0px;
      line-height: 40px;
      height: 40px;
      text-indent: 40px;
    }

    body>section>nav a.curr {
      font-weight: bold;
    }

    body>section>nav a.curr::before {
      content: '';
      display: block;
      position: absolute;
      line-height: 40px;
      height: 40px;
      width: calc(100% + 12px);
      background-color: #d5e8fc !important;
      z-index: -1;
      border-radius: 0px 3px 0px 0px;
      box-shadow: 2px 2px 2px 2px rgba(180, 180, 180, 0.3), -0px -0px 2px 2px rgba(180, 180, 180, 0.3);
      background: linear-gradient(to right bottom, #eee 0%, #ffffff 100%);
      background-image: -webkit-linear-gradient(45deg, rgba(184, 164, 164, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);

    }

    body>section>nav a.curr::after {
      content: '';
      display: block;
      position: absolute;
      height: 0px;
      width: 0px;
      right: -12px;
      z-index: 2;
      overflow: hidden;
      border: 6px solid;
      border-color: rgba(180, 180, 180, 0.3) transparent transparent rgba(180, 180, 180, 0.3);
    }

    body>section>nav .weixin {
      position: absolute;
      bottom: 0;
      width: 200px;
      text-align: center;
      z-index: 10;
      font-size: 14px;
    }

    body>section>nav .weixin img {
      height: 100px;
      width: 100px;
      margin-right: auto;
      margin-left: auto;
    }

    /*右侧浮动栏*/
    aside {
      position: absolute;
      right: 20px;
      top: 0px;
      width: 300px;
      height: 100%;
    }

    aside>div {
      line-height: 30px;
      background: linear-gradient(to right bottom, #ffffff 0%, rgba(230, 230, 230, 0.3) 100%);
      box-shadow: 2px 2px 2px 2px rgba(180, 180, 180, 0.3), -2px -2px 2px 2px rgba(180, 180, 180, 0.3);
      box-sizing: border-box;
      padding: 15px;
      position: absolute;
    }

    aside>div:first-child {
      top: 0px;
      right: 0px;
    }

    aside>div:last-child {
      bottom: 10px;
      right: 0px;
    }

    aside h1 {
      margin: 0px;
      padding: 0px;
      font-size: 16px;
    }

    aside h1::before {
      content: '\2764';
      margin-right: 8px;
      color: #fff;
      text-shadow: 1px 1px 1px rgba(51, 51, 51, 0.3), -1px -1px 1px rgba(51, 51, 51, 0.3), -1px 1px 1px rgba(51, 51, 51, 0.3), 1px -1px 1px rgba(51, 51, 51, 0.3);
    }

    aside h1+div {
      font-size: 14px;
      margin-bottom: 10px;
    }

    /*中间布局*/
    body>section>section {
      height: 100%;
      width: calc(100% - 200px);
      padding: 20px 300px 10px 50px;
      box-sizing: border-box;
      overflow: auto;
    }

    article {
      min-height: 100%;
      margin-bottom: 50%;
    }

    article header {
      font-size: 25px;
      line-height: 30px;
      font-weight: bold;
      box-sizing: border-box;
      padding: 0px 35px;
    }

    article section {
      font-size: 16px;
      line-height: 30px;
      font-weight: normal;
      margin-top: 20px;
      text-indent: 2em;
    }

    article section p {
      margin-top: 5px;
      margin-bottom: 2px;
      font-size: 18px;
      line-height: 35px;
    }

    article section a {
      color: #09F;
      text-decoration: underline;
    }

    article dl {
      margin: 10px 0px 0px 30px;
    }

    article dl,
    article dt,
    article dd {
      padding: 0px;
      text-indent: 0px;
    }

    article dl dt {
      font-size: 16px;
    }

    article dl dd {
      margin: 0px 0px 5px 0px;
      padding: 0px 0px 0px 30px;
      text-indent: 0px;
    }

    article dl dd,
    article dl dd * {
      font-size: 15px;
    }
  </style>
</head>

<body>
  <header> 微厦在线学习考试系统- 自述文件 <a href="http://www.weishakeji.net/" target="_blank" class="logo"><img
        src="" /></a>
  </header>
  <section>
    <nav>
      <div>
        <a href="#a1" class="curr">1、系统简述</a>
        <a href="#a2">2、文件说明</a>
        <a href="#a3">3、安装部署</a>
        <a href="#a4">4、升级指南</a>
        <a href="#a5">5、常见问题</a>
        <a href="#a6">6、演示地址</a>
        <a href="#a7">7、版权声明</a>
      </div>
      <div class="weixin">
        关注微信 了解更多

        <img
          src="" />
      </div>
    </nav>
    <section>
      <article id="a1">
        <header> 系统简述</header>
        <section>
          <p>
            "微厦在线学习考试系统"是一款基于B/S架构的在线学习系统，拥有“直播点播、试题练习、在线考试”等多种学习方式，集&ldquo;<strong>学、练、考</strong>&rdquo;于一体，能够利用电脑、手机、微信等多种设备进行学习，方便学员利用碎片化时间进行随时随地的学习。
          </p>
          <p>适用类别：个人、单位、老师、大学、教育机构</p>
          <p>适用行业：企业培训、教育机构、高等教育、基础教育 </p>
          <dl>
            <dt>A、运行环境</dt>
            <dd>硬件环境：CPU1.6Mhz以上，内存4GB以上</dd>
            <dd>软件环境：Windows server 2008或以上版本、IIS7以上版本、DotNet4.6 Framework、SQLserver2008或以上版本</dd>
          </dl>
          <dl>
            <dt>B、开发环境</dt>
            <dd>C#，.Net CLR 4.6，数据库 Sqlserver2008</dd>
            <dd>开发工具 Microsoft Visual Studio Community 2019 </dd>
            <dd>安装程序：<a href="http://pan.baidu.com/s/1bppzM15" target="_blank">http://pan.baidu.com/s/1bppzM15</a></dd>
          </dl>
          <dl>
            <dt>C、开源地址</dt>
            <dd>Gitee ： <a href="https://gitee.com/weishakeji/LearningSystem"
                target="_blank">https://gitee.com/weishakeji/LearningSystem</a>
              (推荐)</dd>
            <dd>GitHub ：<a href="https://github.com/weishakeji/LearningSystem"
                target="_blank">https://github.com/weishakeji/LearningSystem</a></dd>
            <dd>GitCode ：<a href="https://gitcode.net/songleiming/LearningSystem"
                target="_blank">https://gitcode.net/songleiming/LearningSystem</a></dd>
          </dl>
        </section>
      </article>
      <article id="a2">
        <header> 文件说明</header>
        <section>
          <p>可以由云盘下载最新版本</p>
          <p>
            地址：<a href="http://pan.baidu.com/s/1bppzM15" target="_blank">http://pan.baidu.com/s/1bppzM15</a> </p>
          <dl>
            <dt>简要说明</dt>
            <dd>1、部署文件一般是用日期命名，如“yyyy-mm-dd.zip”；</dd>
            <dd>2、script.sql是当前系统的数据库脚本；</dd>
            <dd>3、升级脚本文件夹中，是之前版本升到当前版时，所需要执行的数据库脚本。 如果是第一次安装，则不需要，因为script.sql是最新数据库脚本。</dd>
          </dl>

          <dl>
            <dt>更多说明</dt>
            <dd>1、copyright.weisha，版权信息，包括公司名称、版权所有等信息，程序中所有涉及版权的内容都引用自此处。</dd>
            <dd>2、license.weisha，授权信息；</dd>
            <dd></dd>
          </dl>

        </section>
      </article>
      <article id="a3">
        <header> 安装部署</header>
        <section>
          <p>部署步骤为“数据库部署”->“创建站点，部署程序”->“配置db.config中数据库链接”->“设置上传文件夹的读写权限”
            以下为详细讲解。</p>
          <dl>
            <dt>1、数据库部署</dt>
            <dd>手工创建数据库examweisha</dd>
            <dd>然后执行安装文件中提供的script.sql即可。</dd>
          </dl>
          <dl>
            <dt>2、程序部署 </dt>
            <dd> A、将部署文件“yyyy-mm-dd.zip”解压。</dd>
            <dd> B、建设IIS站点, 将网站“主目录”指向程序文件夹，绑定合适的端口或域名；</dd>
            <dd> C、将站点的应用程序池设置为“.Net CLR 版本 4.0”，其余默认即可</dd>
          </dl>

          <dl>
            <dt>3、配置数据库连接</dt>
            <dd>A、在站点的根文件夹下找到db.config，用记事本打开</dd>
            <dd>&lt;add name="weisha100.cn" connectionString="Data
              Source=192.168.1.212;Initial Catalog=examweisha;User
              ID=sa;password=weisha;"
              providerName="WeiSha.Data.SqlServer9.SqlServer9Provider" /&gt;
              &lt;/connectionstrings&gt;</dd>

            <dd>
              B、说明如下： <br>
              Data Source=（数据库服务器的IP地址）;<br>
              Initial Catalog=（数据库名称）;<br>
              User ID=（数据 库管理账号）;<br>
              password=（密码）;
            </dd>
            <dd>
              C、检查数据库连接<br>
              打开~/help/datas/test.htm页面，查看链接是否正确
            </dd>
          </dl>
          <dl>
            <dt>4、上传权限设置</dt>
            <dd>学习系统上传资料（例如课程图片、学员照片等）需要有文件写入权限。上传资料的默认文件夹是~/upload/，当然也可以在web.config中修改。</dd>
            <dd> 设置步骤： 在该文件夹上点鼠标右键->属性->安全（选项卡）->编辑（按钮)->添加（按钮 ）->高级（按钮）->立即查找
            此时在查询结果中，找到NETWORK SERVICE，也可以用Everyone（安全性较低） ，建议用NETWORK SERVICE。 双击NETWORK
            SERVICE->点击确定按钮->（回到了“安全”的界面）->设置权限
            为“完全控制”，确定即可。</dd>
          </dl>          
        </section>
      </article>
      <article id="a4">
        <header> 升级指南</header>
        <section> <p>
            系统升级分为程序升级与数据库结构升级，大多数升级会同时涉及这两部分。
            程序升级比较简单，可以通过覆盖原来的程序实现升级，数据库升级需要执行脚本，以修改数据库的结构。
            以下就两种升级进行说明。</p>
          <dl>
            <dt>如何获取升级包</dt>
            <dd>可以在<a href="http://www.weishakeji.net" target="_blank">微厦科技官网</a>下载；或从云盘下载<a href="http://pan.baidu.com/s/1bppzM15" target="_blank">http://pan.baidu.com/s/1bppzM15</a> </dd>
            <dd>请关注我们微信公众号(weishakeji)，发布新版本时会通知。</dd>
          </dl>
          <dl>
            <dt>1、升级程序</dt>
            <dd>将部署文件“yyyy-mm-dd.zip”解压到站点根文件夹下，覆盖原来的程序；要特别注意是有几个文件不可以被覆盖。</dd>
            <dd> A、db.config<br>
              该文件有数据库连接信息，覆盖后会导致数据库操作异常；</dd>
            <dd>B、upload文件夹<br>
              该文件夹存放由用户上传的资料，包括学员头像、课程附件、新闻图片等等
            </dd>
          </dl>
          <dl>
            <dt>2、数据库升级</dt>
            <dd>升级涉及数据库的更改，才会有相应SQL升级脚本，如果没有数据库更改，这一步可以省略。</dd>
            <dd> A、升级脚本的文件存在<a href="https://gitee.com/weishakeji/LearningSystem/tree/master/DbScripts/upgrade_v2" target="_blank">upgrade_v2</a>文件夹，用时间命名，如“2015-05-14.sql”
            表示该升级脚本写于2015年5月14日，在此之前的程序，都应该执行该脚本。</dd>
            <dd>B、如何查看当前程序版本的发布时间<br/>
            打开~/license界面，可以看到当前软件的信息，如version（内部版本号）、发布日期、商业授权等</dd>
            <dd>C、查看数据库是否完整<br/>
              打开~/help/datas/test.htm页面，查看数据库是否完整。
            </dd>
          </dl>

          
        </section>
      </article>
      <article id="a5">
        <header> 部署中的常见问题</header>
        <section>
          <dl>
            <dt>1、应用程序池中没有.Net CLR4.0的选项</dt>
            <dd>没有安装.Net Framework 4.0，点这里 <a href="https://download.visualstudio.microsoft.com/download/pr/8e396c75-4d0d-41d3-aea8-848babc2736a/80b431456d8866ebe053eb8b81a168b3/ndp462-kb3151800-x86-x64-allos-enu.exe" target="_blank" size=12>[下载]</a>，并安装</dd>
            <dd></dd>
            <dd></dd>
          </dl>

        </section>
      </article>
      <article id="a6">
        <header> 演示地址</header>
        <section>
          <p>演示地址：<a href="http://v2.weisha100.net/" target="_blank">http://v2.weisha100.net/</a></p>
          <dl>
            <dt>测试账号</dt>
            <dd>学员tester 密码 1</dd>
            <dd>教师，（教师只是基础账号的一个角色）</dd>
            <dd>机构管理：~/orgadmin 账号 admin 密码1</dd>
            <dd>超级管理员： ~/manage 账号 super 密码 1</dd>
          </dl>

         <p>&nbsp;</p>
          <p>（说明：机构管理员与超级管理员的区别）</p>
          <p>该系统是一款基于多机构的学习系统，每一个机构都相当于一个独立的网校系统，拥有不同的域名、界面风格、功能权限等等，由超级管理员进行全方位管理。

            每个机构都会设置“机构管理员”（由超级管理员设置），用于管理专业设置、课程、考试、新闻与通知、教师与学员等等，这些管理大多数与教学工作相关。</p>
          <p>统管整个系统的超级管理员并不涉及教学工作，只涉及系统管理。例如机构的审核与权限设置、支付接口配置、系统模块增删等等， 一旦操作不当将对系统造成巨大影响。 </p>
        </section>
      </article>
      <article id="a7">
        <header> 版权声明</header>
        <section>

          <p>《微厦学习云服务平台》由郑州微厦计算机科技有限公司（简称：微厦科技）独立开发、设计的软件，依法独立享有该软件之所有权利。该平台源码开放，允许修改、转发、复制、抄录、发布，商业使用需要购买授权。</p>
          <p>详情咨询 400-6015 615</p>
          <p>技术沟通 10522779@qq.com</p>

        </section>
      </article>

    </section>
    <aside>
      <div>
        <h1>"学、练、考"一体</h1>
        <div title="“学、练、考”一体">录播、直播、试题、考试、学习证明</div>
        <h1>自带“分享、分润、分销”</h1>
        <div>学员分销 、多级裂变、课程代理</div>
        <h1>电脑、手机、微信，全支持</h1>
        <div>手机APP、微信小程序、电脑客户端</div>
        <h1>私有化部署，永久授权</h1>
        <div>私有化部署平台，一次购买永久使用</div>
      </div>
      <div>
        <h1>在线交流</h1>
        <div>售前交流群：<a target="_blank"
            href="https://qm.qq.com/cgi-bin/qm/qr?k=toqb5W5ZRxa9MISLbSL8FdzdZmHqP6cz&jump_from=webapi"><img border="0"
              src="https://pub.idqqimg.com/wpa/images/group.png" alt="微厦科技-服务交流群" title="微厦科技-服务交流群"></a><br />
          开发交流群：<a target="_blank"
            href="https://qm.qq.com/cgi-bin/qm/qr?k=tTTdUnuOvlZU092BUBuzgxR9WLUV6rBK&jump_from=webapi"><img border="0"
              src="https://pub.idqqimg.com/wpa/images/group.png" alt="微厦科技（开发交流）" title="微厦科技（开发交流）"></a></div>
      </div>
    </aside>

  </section>
</body>
<script>
  window.onload = window.onresize = function () {
    var menus = document.querySelectorAll("nav a[href]");
    for (var i = 0; i < menus.length; i++) {
      menus[i].addEventListener('click', function (evt) {
        for (var j = 0; j < menus.length; j++)
          menus[j].classList.remove('curr');
        var node = event.target ? event.target : event.srcElement;
        node.classList.add('curr');
      }, true);
    }
    var href = window.location.href;
    if (href.indexOf('#') > -1) {
      var anchor = href.substring(href.indexOf('#'));
      var menu = document.querySelectorAll("nav a[href='" + anchor + "']");
      if (menu.length > 0) menu[0].click();
    }
  }
</script>

</html>